/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.meducated.sim.model;

/**
 * An Effector can effect a value over time with a specified rate in samples per
 * second
 *
 * @author Carina
 */
public interface Effector<V> {

    /**
     * The default sensing rate for sensors to reference, in samples per second
     */
    public double DEFAULT_SENSING_RATE = 1;

    /**
     * Returns the dvalue/dt that this effector would effect
     *
     * @return
     */
    public V effect(double t);

    /**
     * The rate, in samples per second, which this effector acts
     *
     * @return
     */
    public double getEffectingRate();

    /**
     *
     * @return
     */
    public String getId();
    
    /**
     * 
     * @return 
     */
    public String getBehaviour();
}
